<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
      // es6的class类
      //  function Car(name,color) {
      //   this.name=name;
      //   this.color=color;
      //   this.run=function(){}
      //   }
      //   Car.prototype.jia=function(){
      //     console.log("加油")
      //   }
      class Car{
        // es6的类的属性写在constructor
        constructor(name,color){
          this.name=name;
          this.color=color;
        }
        // es6的类的方法 写在类的内部
        run(){
          console.log("跑")
        }
        jia(){
          console.log("加油")
        }
        // static :es6类的静态函数的修饰符 不需要new 直接用类名调用的函数
        static fly(){
            console.log("飞起来")
        }
      }
      console.log(Car.prototype)
      let byd=new Car("byd","蓝色");
      console.log(byd)
      byd.run()
      // 调用静态函数
      Car.fly()

      // es6的继承
      class Person{
        constructor(shengao,tizhong){
          this.shengao=shengao;
          this.tizhong=tizhong;
        }
        say(){
          console.log("说话")
        }
      }
      // es6的类的继承 用  
      // 1.extends 父类名
      // 2.在constuctor 内部最上面调用super方法完成继承 并给父类传参
      class Student extends Person{
          constructor(grade){
              super('180',"180")
              this.grade=grade;
          }
          learn(){
            console.log("学习")
          }
      }
      let zhangsan=new Student("三年级");
      console.log(zhangsan.shengao)
      zhangsan.say()
      
  

  </script>
</body>
</html>